- Concepto de abundancia
- Probabilidad de detección
- Metas de trabajo grupal
- Metas para la próxima semana
10 de mayo de 2018
Cantidad de individuos que están delimitados de alguna forma
Geográfica: Delimitación natural de un ecosistema asociado con la especie.
Genética: Aislamiento repoductivo.
Artificial: Beaker, Parque Nacional.
La abundancia depede de la densidad. Y la densidad depende, entre otras cosas, de la adecuación del hábitat y la salud de la población.
La abundancia es una variable dinámica.
La natalidad, mortalidad, inmigración y emigración la modifican constantemente.
Abundancia en una población abierta: Influyen los cuatro factores anteriores
Abundancia en una población cerada: Solo se toma en cuenta el crecimiento (Natalidad – Mortalidad)
La abundancia es independiente del método utilizado para estimarla.
Los conteos… no.
Incluso un indicador de abundancia, es diferente de un conteo.
La diferencia radica, en que el conteo depende de la abundancia y la probabilidad de detección.
## Probabilidad de detección
El principio es muy sencillo. Cada individuo durante un muestreo tiene dos estados: detectado, o no detectado. Por tanto, la cantidad de individuos que fueron observados, son una porción del total de individuos. Si tamaño poblacional es igual a \(N\), entonces, podemos decir que:
\[ N = \frac{y}{p} \]
\[ y \sim \text{Binomial}\left( N,p\right) \]
Pero surge un problema. Debemos estimar dos parámetros (\(N\), y \(p\)), con un solo dato (conteos).
Para ello se han desarrollado muchos protocoles de muestreo, que aportan información adicional para el análisis de datos:
Consiste en hacer un conteo de animales y reportar junto a cada animal observado, la distancia perpendicular al transepto de muestreo.
Usualmente utilizado para el conteo de animales grandes
En existe el paquete rdistance.
Se utiliza en animales marcados.
Cada animal genera un historial de captura/recaptura, de acuerdo al número de ocasiones de muestreo.
Estos modelos se basan en una extensión de la distribución de probabilidad Binomial, llamada distribución multinomial.
Basado en la proporción de individuos que son capturados de una ocasión de remoción a la siguiente.
Por ejemplo, si en la primer remoción capturo 100 individuos, en la segunda capturo 50 individuos, y en la tercera capturo 25 indivudos, la probabilidad de captura es \(p=0.5\)
El paquete unmarked contiene métodos para muestreo por remoción.
El muestreo consiste en dos observadores, el principal anota todas sus observaciones, y las dice al observador secundario. Luego, el secundario anota, cualquier otro individuo que no fue visualizado por el observador primario. Con estos datos, se calcula la probabilidad de detección, y se estima la abundancia.
unmarked contiene métodos para muestreo por doble observador.Simulando los datos…
set.seed(1937) y <- rbinom(n = 5, size = 100, prob = 0.3) # n es el número de repeticiones, size = sería el tamaño poblacional # y prob la probabilidad de captura y
## [1] 32 30 34 28 35
Necesitamos conocer la probabilidad de observar esos datos. Dado el valor de un parámetro, para luego maximizar esta función
\[ L(N) = \prod_{i =1}^n\text{Binomial}( y_{i} |N,p) \]
Sacamos logaritmos y negamos la expresión para que la computación sea más fácil.
\[ nlL(N) = (-1)\times\sum_{i =1}^n \log\left( \text{Binomial}(N|y_i,p)\right) \]
Traducimos a R:
# Función de 'menos log-verosimilitud'
nlL <- function(p){#p, se refiere a parámetros.
N <- floor(p[1]) #floor toma el entero
valor <- -1*sum( dbinom(y, size = N, prob = 0.3,log = TRUE) )
# A veces trabajar con logaritmos genera valores irreales.
# Solo queremos valores válidos. El paso de abajo hace esto.
valor <- valor[which(!is.na(valor) | !is.nan(valor) | valor != -Inf)]
return(valor)
}
Optimizamos
salida <- optim( par = c(mean(y) / 0.3), fn = nlL, method = "Brent", lower = 0, upper = 1e6 ) salida
Si no existe información previa…
La verosimilitud es proporcional a una distribución de probabilidad
Estimación de \(N\) y \(p\) por medio de muestreos con remoción.
El modelo:
\[ y_i \sim \begin{cases} \text{Bin}(N,p),\ k=1\\ \text{Bin}(N-\sum_{i=1}^k y_i,p),\ k>1 \end{cases} \]
set.seed(1934)
N <- 100
p <- 0.30
n <- 5# número de remociones
y <- numeric()
for ( k in 1:n){
if (k==1){
y. <- rbinom(n = 1, size = 100, prob = p)
y <- append(y,y.)
} else {
y. <- rbinom(n = 1,size = 100 - sum(y), prob = p)
print(sum(y))
y <- append(y,y.)
}
}
# n es el número de repeticiones, size = sería el tamaño poblacional
# y prob la probabilidad de captura
cat("el vector de conteos es ",y,"\n")
Calculamos una nueva variable, que nos ayuda en el proceso.
\[ c_i = \begin{cases} 0,\ k=1\\ \sum_{i=1}^k y_i,\ k>1 \end{cases} \]
c <- 0 c <- append(c,cumsum(y), after = 1) c <- c[-length(c)]# último elemento no se usa c
## [1] 0 28 48 60 69
Ahora nuestra función de verosimilitud es:
\[ nlL(N,p) = \sum_{i =1}^n \log\left( \text{Binomial}(y_i|N-\mathrm{c_i},p)\right) \]
Nótese la inclusión de \(c\) en la función.
# Función de 'menos log-verosimilitud'
nlL <- function(p,c){#p, se refiere a parámetros.
N <- floor(p[1])
N <- ifelse(N <= max(c), max(c), N)# Si es menor al número acumulado de
#individuos, lo fija al límite inferior.
x <- p[2]
probCap <- exp(x)/(1+exp(x))# calcula un valor entre 0 y 1
valor <- -1*sum( dbinom(y, size = N-c, prob = probCap,log = TRUE) )
# A veces trabajar con logaritmos genera valores irreales.
# Solo queremos valores válidos. El paso de abajo hace esto.
valor <- valor[which(!is.na(valor) | !is.nan(valor) | valor != -Inf)]
return(valor)
}
gen <- function(p,c){#p, se refiere a parámetros.
N <- floor(p[1])
N <- ifelse(N <= max(c), max(c)+1, N)
N <- N + sample(c(-1,1),size=1,prob = c(0.5,0.5))
x <- p[2]
x <- x + rnorm(1,0,0.2)
return(p=c(N,x))
}
salida <- optim( par = c(max(c)*1.1,0),# valores iniciales fn = nlL, gr = gen, c=c, method = "SANN", control = list(maxit=50000) ) salida
## $par ## [1] 91.0000000 -0.8094811 ## ## $value ## [1] 10.51949 ## ## $counts ## function gradient ## 50000 NA ## ## $convergence ## [1] 0 ## ## $message ## NULL
En este caso particular, tenemos que convertir a una escala apropiada para probabilidades, el segundo valor de salida$par. Para ello, utilizamos una función llamada expit que mapea los valores \(expit: \left\{-\infty,\infty\right\} \mapsto \left\{0,1\right\}\). La función expit es igual a \(exp(x)/(1+exp(x))\).
p_est <- exp(salida$par[2])/(1+exp(salida$par[2])) p_est
## [1] 0.3080011
…? Era para hoy…
Procedimiento de campo.
Base de datos, en blanco… Excel
Pendientes de la semana tras-anterior
Salida de la UNA Mier. 16, 6:30 am
Llevar manga larga, protección solar, gorra, gafas.
Watershoes
ó… Zapato cerrado, y ajustado, suela dura. Se van a mojar. Sandalias sueltas no se permiten.
Al menos, 4 litros de agua por persona.
Llevar comida, para cocinar allá.
Ropa de cama, mosquitero, repelente.
Bolsas para ropa húmeda.
Libreta de campo. Preferiblemente resistente al agua.
Salir desayunados… llegamos a tabajar.
No llevar
Regresamos jueves a las 14:00. Clases con Meyer